//导出一个服务器的实例

var express = require('express');
var bodyParser = require('body-parser');

//导出一个函数，执行函数的时候会返回一个函数值
module.exports = function () {
    console.log('express init');

    var app = express();

    app.use(bodyParser.json()); //使用json的方式解析传入的数据

    app.use(express.static("./public")); //创建使用静态目录

    require('../app/routes/news.server.routes')(app);

    //客户端请求的时候，是一个不存在的地址处理方式，即404
    app.use(function (req, res, next) {
        res.status(404);
        try {
            return res.json("404 req is not found");
        } catch (e) {
            console.error("404 Not Found");
        }
    });

    ///客户端在请求的时候，出现了错误的处理，进行统一的而处理错误
    app.use(function (err, req, res, next) {
        if (!err) {
            return next(); //如果没有错误的话，继续执行
        }
        res.status(500);
        try {
            return res.json("500 error");
        } catch (e) {
            console.error("500 error");
        }
    });

    return app;
}